Passed
Push — master ( e65c11...9fa456 )
by Julien
10:18 queued 05:55
created

bs-commonjs-generator.js ➔ generateCommonJSModule   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
c 1
b 0
f 1
nc 2
dl 0
loc 16
rs 9.4285
nop 3

1 Function

Rating   Name   Duplication   Size   Complexity  
A bs-commonjs-generator.js ➔ ... ➔ srcPathToDestRequire 0 4 1
1
/*!
2
 * Bootstrap Grunt task for the CommonJS module generation
3
 * http://getbootstrap.com
4
 * Copyright 2014-2015 Twitter, Inc.
5
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
 */
7
8
'use strict';
9
10
var fs = require('fs');
11
var path = require('path');
12
13
var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
14
15
module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
16
  var destDir = path.dirname(destFilepath);
17
18
  function srcPathToDestRequire(srcFilepath) {
19
    var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
20
    return 'require(\'' + requirePath + '\')';
21
  }
22
23
  var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
24
  try {
25
    fs.writeFileSync(destFilepath, moduleOutputJs);
26
  } catch (err) {
27
    grunt.fail.warn(err);
28
  }
29
  grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
30
};
31